fn main() {
  /** 1. if-else*/
  let y= 1;
  //
  if y == 1 {
    println!("y = 1");
  }
  //
  if y == 1 {
    println!("y = 1");
  } else if y == 2{
    println!("y = 2")
  } else {
    println!("y != 1");
  }
  /** 1.2 let中使用if*/
  let condition = true;
  let x = if condition {
    5
  } else {
    6 //必须是一致的类型
  };
  println!("{}", x); //5
  // 不支持三目？
  // let x = condition ? 5: 6;


  /** 2. loop*/
  let mut counter = 0;
  loop {
    println!("{}", counter);
    if counter == 10 {
      break;
    }
    counter += 1;
  }
  //可以作为表达式赋给变量
  let result = loop {
    counter += 1;
    if counter == 20 {
      break counter * 2;
    }
  };
  println!("{}", result); //20

  /** 3. while*/
  let mut i = 0;
  while i !=10 {
    i += 1;
  }
  println!("i = {}",i);

  /** 4. for*/
  /*let arr = [1,2,3,4,5];
  for ele in arr {
    println!("ele:{}", ele);
  }*/
  //↑ 是 ↓ 的语法糖
  /*for ele in arr.iter() {
    println!("arr[i]={}", ele);
  }*/
  /*for ele in &arr {
    println!("arr[i]={}", ele);
  }*/
  //
  /*for number in (1..4).rev() { // (1..4) --> Range，它是标准库提供的类型，用来生成从一个数字开始到另一个数字之前结束的所有数字的序列。 rev，用来反转 range。
    println!("{}!", number);
  }
  println!("LIFTOFF!!!");*/
  //
  for ele in ['哈','尼','马'] { // √
    println!("{}", ele);
    // 哈
    // 尼
    // 马
  }
  //
  //报错: error[E0277]: `({integer}, char, bool)` is not an iterator
  /*for ele in (1,'哈',true) {
    println!("{}", ele);
  }*/
}
